#include <xen/errno.h>
#include <xen/version.h>
#include <xen/sched.h>
-#include <xen/shadow.h>
#include <xen/nmi.h>
#include <xen/guest_access.h>
#include <asm/current.h>
#include <xen/rcupdate.h>
#include <xen/guest_access.h>
#include <xen/bitmap.h>
-#include <xen/shadow.h>
#include <asm/current.h>
#include <public/domctl.h>
#include <acm/acm_hooks.h>
#include <xen/iocap.h>
#include <xen/lib.h>
#include <xen/sched.h>
-#include <xen/shadow.h>
#include <xen/mm.h>
#include <xen/trace.h>
#include <xen/guest_access.h>
#include <xen/errno.h>
#include <xen/version.h>
#include <xen/sched.h>
-#include <xen/shadow.h>
+#include <xen/paging.h>
#include <xen/nmi.h>
#include <xen/guest_access.h>
#include <asm/current.h>
fi.submap = 0;
if ( VM_ASSIST(d, VMASST_TYPE_pae_extended_cr3) )
fi.submap |= (1U << XENFEAT_pae_pgdir_above_4gb);
- if ( shadow_mode_translate(current->domain) )
+ if ( paging_mode_translate(current->domain) )
fi.submap |=
(1U << XENFEAT_writable_page_tables) |
(1U << XENFEAT_auto_translated_physmap);
#include <xen/rangeset.h>
#include <xen/compat.h>
#include <asm/debugger.h>
-#include <asm/shadow.h>
#include <asm/div64.h>
#define KEY_MAX 256
#include <xen/perfc.h>
#include <xen/sched.h>
#include <xen/event.h>
-#include <xen/shadow.h>
+#include <xen/paging.h>
#include <xen/iocap.h>
#include <xen/guest_access.h>
#include <xen/hypercall.h>
mfn = page_to_mfn(page);
- if ( unlikely(shadow_mode_translate(d)) )
+ if ( unlikely(paging_mode_translate(d)) )
{
for ( j = 0; j < (1 << a->extent_order); j++ )
guest_physmap_add_page(d, gpfn + j, mfn + j);
if ( (d = rcu_lock_domain_by_id(op.domid)) == NULL )
return -ESRCH;
- if ( !shadow_mode_translate(d) )
+ if ( !paging_mode_translate(d) )
{
rcu_unlock_domain(d);
return -EINVAL;
&gpfn, exch.out.extent_start, (i<<out_chunk_order)+j, 1);
mfn = page_to_mfn(page);
- if ( unlikely(shadow_mode_translate(d)) )
+ if ( unlikely(paging_mode_translate(d)) )
{
for ( k = 0; k < (1UL << exch.out.extent_order); k++ )
guest_physmap_add_page(d, gpfn + k, mfn + k);
#include <xen/mm.h>
#include <xen/irq.h>
#include <xen/softirq.h>
-#include <xen/shadow.h>
#include <xen/domain_page.h>
#include <xen/keyhandler.h>
#include <xen/perfc.h>
#include <xen/numa.h>
#include <xen/nodemask.h>
#include <asm/page.h>
+#include <asm/flushtlb.h>
/*
* Comma-separated list of hexadecimal page numbers containing bad bytes.
#include <xen/guest_access.h>
#include <xen/sched.h>
#include <public/xenoprof.h>
-#include <asm/shadow.h>
+#include <xen/paging.h>
/* Limit amount of pages used for shared buffer (per domain) */
#define MAX_OPROF_SHARED_PAGES 32
d->xenoprof->domain_type = XENOPROF_DOMAIN_PASSIVE;
passive.nbuf = d->xenoprof->nbuf;
passive.bufsize = d->xenoprof->bufsize;
- if ( !shadow_mode_translate(current->domain) )
+ if ( !paging_mode_translate(current->domain) )
passive.buf_gmaddr = __pa(d->xenoprof->rawbuf);
else
xenoprof_shared_gmfn_with_guest(
xenoprof_get_buffer.nbuf = d->xenoprof->nbuf;
xenoprof_get_buffer.bufsize = d->xenoprof->bufsize;
- if ( !shadow_mode_translate(d) )
+ if ( !paging_mode_translate(d) )
xenoprof_get_buffer.buf_gmaddr = __pa(d->xenoprof->rawbuf);
else
xenoprof_shared_gmfn_with_guest(
#define CONFIG_X86 1
#define CONFIG_X86_HT 1
-#define CONFIG_SHADOW 1
+#define CONFIG_PAGING_ASSISTANCE 1
#define CONFIG_SMP 1
#define CONFIG_X86_LOCAL_APIC 1
#define CONFIG_X86_GOOD_APIC 1
--- /dev/null
+
+#ifndef __XEN_PAGING_H__
+#define __XEN_PAGING_H__
+
+#include <xen/config.h>
+
+#if defined CONFIG_PAGING_ASSISTANCE
+
+#include <asm/paging.h>
+#include <asm/p2m.h>
+
+#elif defined CONFIG_SHADOW
+
+#include <asm/shadow.h>
+
+#define paging_mode_translate(d) shadow_mode_translate(d)
+
+#else
+
+#define paging_mode_translate(d) (0)
+#define guest_physmap_add_page(d, p, m) ((void)0)
+#define guest_physmap_remove_page(d, p, m) ((void)0)
+
+#endif
+
+#endif /* __XEN_PAGING_H__ */
+++ /dev/null
-
-#ifndef __XEN_SHADOW_H__
-#define __XEN_SHADOW_H__
-
-#include <xen/config.h>
-
-#ifdef CONFIG_SHADOW
-
-#include <asm/shadow.h>
-
-#else
-
-#define shadow_drop_references(d, p) ((void)0)
-#define shadow_sync_and_drop_references(d, p) ((void)0)
-
-#define shadow_mode_translate(d) (0)
-
-#define guest_physmap_add_page(d, p, m) ((void)0)
-#define guest_physmap_remove_page(d, p, m) ((void)0)
-
-#endif
-
-#endif /* __XEN_SHADOW_H__ */